The present invention relates generally to improvements to bar code scanners. More particularly, the invention relates to advantageous techniques for generating a scanner signal based on reflected light from an object in a field of view of the scanner to scan product bar codes and also interpreting the scanner signal to compute imaging information relating to the size, shape, position and motion of an object or product in the scan field of the scanner.
Bar code scanners are used in a wide variety of applications, such as retailing, inventory control, customer identification and many other applications. Many bar code scanners are adapted to scan a bar code located on an object, when the object is placed within the field of view of the scanner. Many such scanners produce complex scan patterns in order to maximize coverage of an object, so that a bar code located on an object will produce a readable reflection, even if the bar code is located on a relatively obscure area of an irregularly shaped object. The scan pattern is typically created when a scan beam traces out a series of scan lines. Each scan line results when the point at which the scan beam emerges from the scanner moves from one point to another.
A scan beam tracing out a scan pattern intercepts an object within the scan volume and produces a scanner signal when the scan beam strikes the object and the light from the scan pattern is reflected back into the scanner and detected. In typical prior art scanners, the signal""s only components of interest are those used in detecting and decoding the bar code. Other elements of the signal, typically elements having a low frequency, are filtered out to produce a bar code signal. The bar code signal typically includes only high frequency components resulting from rapid changes in reflected light as the scan beam moves across the light spaces and dark bars of the bar code being scanned.
The present invention recognizes that the scanner signal produced from the detection of reflected scan pattern light can potentially provide information not only about the bar code, if the bar code contributed to the reflection, but also about the object itself. The scan pattern typically does not only strike the bar code, but also strikes other portions of the object or product carrying that bar code. If properly interpreted, the scanner signal can provide useful information about the object.
A bar code scanner according to one aspect of the present invention comprises a scanning laser beam typically reflected from a rotating mirror to produce a scan pattern emerging from one or more scan windows to strike an object placed in or moving through the field of view of the scanner. The scan pattern typically comprises a number of scan lines, with each scan line being a trace of the scanning laser beam. Upon striking the object, a portion of the light reflected from the scan pattern is reflected back into the scanner where it is collected and used to produce a scanner signal. The scanner signal typically includes low frequency and DC components resulting from diffusively reflected light from the surface of the object. If the scan pattern struck a bar code on the object, the scanner signal will typically also include high frequency components resulting from the reflections from the bars and spaces or other indicia defining the bar code.
The signal is conditioned and may then suitably be split in order to provide a signal to a conventional bar code module used in decoding and interpreting a bar code, and to provide another, identical signal, to a time and space module used to extract timing information from the scanner signal and to interpret the timing information in order to provide spatial information about the object in the field of view of the scanner. The signal at each time point can be mapped to a given position on a scan line, corresponding to a particular scanning beam position in three-dimensional space. Many scan patterns comprise a plurality of scan lines, and each scan line can be a source of information about an object. In addition, many scanners provide two or more scan windows, so that an object may simultaneously intercept scan patterns from each window, thereby providing still more information about the size, shape, position and motion of the object.